AUTOMAKE_OPTIONS = foreign 1.4

AM_CXXFLAGS = -std=c++11 -Wall -Wfatal-errors -I$(top_srcdir)/src
ACLOCAL_AMFLAGS = -I m4

####################################################
# main executable
####################################################
bin_PROGRAMS = glover
glover_SOURCES =    src/main.cpp \
                    src/mainwindow.h \
                    src/mainwindow.cpp
glover_CXXFLAGS = '-DDATADIR="$(datadir)"' $(AM_CXXFLAGS) $(FREETYPE2_CFLAGS) $(FTGL_CFLAGS) $(OPENAL_CFLAGS)


####################################################
# data files
####################################################
fontdir = $(datadir)/glover/fonts
font_DATA = data/fonts/arial.ttf
EXTRA_DIST = $(font_DATA)

####################################################
# library definitions
####################################################
noinst_LTLIBRARIES =    libaudiorenderer.la \
                        libcommon.la \
                        libgllib.la \
                        libmovierenderer.la \
                        libosd.la \
                        libsubtitlerenderer.la \
                        libvideooutput.la

####################################################
# audio renderer library
####################################################
libaudiorenderer_la_SOURCES =   src/AudioRenderer/audioformat.h \
                                src/AudioRenderer/audiorenderer.h \
                                src/AudioRenderer/audiorenderer.cpp \
                                src/AudioRenderer/audiorendererfactory.h \
                                src/AudioRenderer/audiorendererfactory.cpp \
                                src/AudioRenderer/openalrenderer.h \
                                src/AudioRenderer/openalrenderer.cpp \
                                src/AudioRenderer/alsarenderer.h \
                                src/AudioRenderer/alsarenderer.cpp \
                                src/AudioRenderer/audioframe.h \
                                src/AudioRenderer/audioframe.cpp
libaudiorenderer_la_CXXFLAGS = $(AM_CXXFLAGS) $(ALSA_CFLAGS) '-DDATADIR="$(datadir)"'

####################################################
# common library
####################################################
libcommon_la_SOURCES =  src/Common/fileoperations.h \
                        src/Common/fileoperations.cpp \
                        src/Common/stringoperations.h \
                        src/Common/stringoperations.cpp \
                        src/Common/numericoperations.h \
                        src/Common/numericoperations.cpp \
                        src/Common/timeoperations.h \
                        src/Common/timeoperations.cpp
libcommon_la_CXXFLAGS = $(AM_CXXFLAGS)

####################################################
# GLLib library
####################################################
libgllib_la_SOURCES =   src/GLLib/text.h \
                        src/GLLib/text.cpp \
                        src/GLLib/texture2d.h \
                        src/GLLib/texture2d.cpp \
                        src/GLLib/framebufferobject.h \
                        src/GLLib/framebufferobject.cpp \
                        src/GLLib/shader.h \
                        src/GLLib/shader.cpp \
                        src/GLLib/fragmentshader.h \
                        src/GLLib/fragmentshader.cpp
libgllib_la_CXXFLAGS = $(AM_CXXFLAGS) $(FREETYPE2_CFLAGS) '-DDATADIR="$(datadir)"'

####################################################
# MovieRenderer library
####################################################
libmovierenderer_la_SOURCES =   src/MovieRenderer/framerenderer.h \
                                src/MovieRenderer/framerenderer.cpp \
                                src/MovieRenderer/moviedecoder.h \
                                src/MovieRenderer/moviedecoder.cpp \
                                src/MovieRenderer/videoframe.h \
                                src/MovieRenderer/videoframe.cpp \
                                src/MovieRenderer/movierenderer.h \
                                src/MovieRenderer/movierenderer.cpp
libmovierenderer_la_CXXFLAGS = $(AM_CXXFLAGS) $(FREETYPE2_CFLAGS) '-DDATADIR="$(datadir)"'

####################################################
# Osd library
####################################################
libosd_la_SOURCES =     src/Osd/glprogressbar.h \
                        src/Osd/glprogressbar.cpp \
                        src/Osd/infodisplay.h \
                        src/Osd/infodisplay.cpp
libosd_la_CXXFLAGS = $(AM_CXXFLAGS) $(FREETYPE2_CFLAGS) '-DDATADIR="$(datadir)"'

####################################################
# SubtitleRenderer library
####################################################
libsubtitlerenderer_la_SOURCES =    src/SubtitleRenderer/srtsubtitle.h \
                                    src/SubtitleRenderer/srtsubtitle.cpp \
                                    src/SubtitleRenderer/subtitlerenderer.h \
                                    src/SubtitleRenderer/subtitlerenderer.cpp
libsubtitlerenderer_la_CXXFLAGS = $(AM_CXXFLAGS) $(FREETYPE2_CFLAGS) '-DDATADIR="$(datadir)"'

####################################################
# VideoOutput library
####################################################
libvideooutput_la_SOURCES = src/VideoOutput/event.h \
                            src/VideoOutput/glxvideooutput.h \
                            src/VideoOutput/glxvideooutput.cpp \
                            src/VideoOutput/videooutput.h \
                            src/VideoOutput/videooutput.cpp \
                            src/VideoOutput/xdnd.h \
                            src/VideoOutput/xdnd.cpp

####################################################
# Glover library
####################################################
lib_LTLIBRARIES = libglover.la
libglover_la_SOURCES =
nodist_EXTRA_libglover_la_SOURCES = src/dummy.cpp
libglover_la_LIBADD =   libsubtitlerenderer.la \
                        libcommon.la \
                        libgllib.la \
                        libosd.la \
                        libvideooutput.la \
                        libaudiorenderer.la \
                        libmovierenderer.la

glover_LDADD =          libglover.la \
                        $(FFMPEG_LIBS) $(FREETYPE2_LIBS) $(GL_LIBS) $(FTGL_LIBS) $(ALSA_LIBS) $(OPENAL_LIBS) $(XRENDER_LIBS) \
                        -lGLee -lGLU

